home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / pmake / customs / config.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-11-15  |  3.7 KB  |  95 lines

  1. /*-
  2.  * config.h --
  3.  *    Configuration constants for the local site.
  4.  *
  5.  * Copyright (c) 1988, 1989 by the Regents of the University of California
  6.  * Copyright (c) 1988, 1989 by Adam de Boor
  7.  * Copyright (c) 1989 by Berkeley Softworks
  8.  *
  9.  * Permission to use, copy, modify, and distribute this
  10.  * software and its documentation for any non-commercial purpose
  11.  * and without fee is hereby granted, provided that the above copyright
  12.  * notice appears in all copies.  The University of California,
  13.  * Berkeley Softworks and Adam de Boor make no representations about
  14.  * the suitability of this software for any purpose.  It is provided
  15.  * "as is" without express or implied warranty.
  16.  *
  17.  *    "$Id: config.h,v 1.7 89/11/14 13:46:25 adam Exp $ SPRITE (Berkeley)"
  18.  */
  19.  
  20. /*
  21.  * For customs, everything's the same except we tell the job module to use
  22.  * the extended Rmt interfaces.
  23.  */
  24. #include "../unix/config.h"
  25.  
  26. /*
  27.  * RMT_WILL_WATCH
  28.  *    If defined, the job module will rely on the rmt module to pay attention
  29.  *    to streams and to call Job_CatchChildren on a regular basis should any
  30.  *    jobs be run locally. Defining this adds the following three functions
  31.  *    to the Rmt interface requirements:
  32.  *        void    Rmt_Watch(stream, proc, data)
  33.  *            Call proc(stream, data) whenever stream becomes READABLE.
  34.  *        void    Rmt_Ignore(stream)
  35.  *            Stop paying attention to stream.
  36.  *        void    Rmt_Wait()
  37.  *            Wait for something to happen, process it and return when
  38.  *            done. During this time, Job_CatchChildren should be called
  39.  *            regularly (if the Rmt module wishes to catch SIGCHLD, or its
  40.  *            equivalent, and call Job_CatchChildren SYNCHRONOUSLY [e.g.
  41.  *            by setting a flag for Rmt_Wait to watch for], that is fine).
  42.  *            The Customs Rmt module does it by waking up every 200 ms
  43.  *            and calling Job_CatchChildren(block = FALSE).
  44.  *
  45.  * RMT_WANTS_SIGNALS
  46.  *    If defined, the job module will rely on the rmt module to transmit
  47.  *    any signal to a remote job. If not defined, the pid in the job
  48.  *    descriptor will be assumed to hold the id of a process that will
  49.  *    transmit the signal. If signals cannot be sent at all, set the pid
  50.  *    to 0 and don't define this.
  51.  *    There are several places where a signal might be sent:
  52.  *        1) if pmake receives one of the four interrupt signals (SIGINT,
  53.  *            SIGHUP, SIGTERM and SIGQUIT)
  54.  *        2) if pmake receives a terminal signal (SIGTSTP, SIGTTIN,
  55.  *            SIGTTOU, SIGWINCH). Note these signals are only caught if
  56.  *            RMT_WANT_SIGNALS or USE_PGRP are defined.
  57.  *        3) if something calls for an abort of all currently running jobs
  58.  *    Defining this constant introduces another interface:
  59.  *        int    Rmt_Signal(job, signo)
  60.  *    The function should return non-zero on success, zero if signal couldn't
  61.  *    be delivered.
  62.  *
  63.  * RMT_NO_EXEC
  64.  *    If defined, implies that a fork/exec is not required to export a
  65.  *    job. When running in parallel mode, pmake will use the function
  66.  *            int Rmt_Export(fileToExec, argv, job)
  67.  *    in place of Rmt_Begin (Rmt_Begin, Rmt_Exec, Rmt_LastID and Rmt_Done
  68.  *    will still be used if exporting in non-parallel mode, as the
  69.  *    compatibility module doesn't use Job descriptors). Defining
  70.  *    RMT_WANT_SIGNALS usually implies RMT_NO_EXEC.
  71.  */
  72. #define RMT_WILL_WATCH
  73. #define RMT_WANTS_SIGNALS
  74. #define RMT_NO_EXEC
  75.  
  76. /*
  77.  * CAN_EXPORT
  78.  *    If defined, indicates that an export system is installed. This
  79.  *    activates the -X and -x flags.
  80.  */
  81. #define CAN_EXPORT
  82.  
  83. /*
  84.  * If you're using something more reliable than NFS for your filesystem,
  85.  * nuke this #undef line. Look at the note in ../unix/config.h for its
  86.  * meaning.
  87.  */
  88. #undef RECHECK
  89.  
  90. /* For testing... */
  91. #define USE_PGRP
  92.  
  93. #undef DEFSYSPATH
  94. #define DEFSYSPATH "/staff/pcgeos/Include:/usr/public/lib/pmake"
  95.